﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Jurassic_Island
{
    public partial class MenuPrincipal : Form
    {
        //declara los formularios
        private FormObjetos fObjetos = new FormObjetos();
        private FormMapas fMapas = new FormMapas();
        private FormLugares fLugares = new FormLugares();
        private FormCaminos fCaminos = new FormCaminos();
        private FormEventos fEventos = new FormEventos();
        private FormFinal fFinal = new FormFinal();
        private FormAcercaDe fAcercade = new FormAcercaDe();

        private void MuestraObjetos()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fObjetos.IsDisposed)
            {
                fObjetos = new FormObjetos();
            }
            // El padre MDI de este formulario será el menu principal
            fObjetos.MdiParent = this;
            fObjetos.Show();
        }

        private void MuestraMapa()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fMapas.IsDisposed)
            {
                fMapas = new FormMapas();
            }
            // El padre MDI de este formulario será el menu principal
            fMapas.MdiParent = this;
            fMapas.Show();
        }

        private void MuestraLugares()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fLugares.IsDisposed)
            {
                fLugares = new FormLugares();
            }
            // El padre MDI de este formulario será el menu principal
            fLugares.MdiParent = this;
            fLugares.Show();
        }

        private void MuestraCaminos()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fCaminos.IsDisposed)
            {
                fCaminos = new FormCaminos();
            }
            // El padre MDI de este formulario será el menu principal
            fCaminos.MdiParent = this;
            fCaminos.Show();
        }

        private void MuestraEventos()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fEventos.IsDisposed)
            {
                fEventos = new FormEventos();
            }
            // El padre MDI de este formulario será el menu principal
            fEventos.MdiParent = this;
            fEventos.Show();
        }

        private void MuestraFinal()
        {
            foreach (Form f in this.MdiChildren)
            {
                f.Close();
                f.Dispose();
            }
            if (fFinal.IsDisposed)
            {
                fFinal = new FormFinal();
            }
            // El padre MDI de este formulario será el menu principal
            fFinal.MdiParent = this;
            fFinal.Show();
        }

        public MenuPrincipal()
        {
            InitializeComponent();
        }

        private void MenuPrincipal_Load(object sender, EventArgs e)
        {
            FormLogin login = new FormLogin(this);
            login.StartPosition = FormStartPosition.CenterScreen;
            if (login.ShowDialog() == DialogResult.Cancel)
            {
                Dispose();
            }
        }

        private void MenuPrincipal_FormClosing(object sender, FormClosingEventArgs e)
        {
            
            if (MessageBox.Show("¿Seguro que deseas salir?", "Jurassic Island", MessageBoxButtons.YesNo) == DialogResult.No)
            { //Preguntamos al admin si desea cerrar el formulario. Si contesta NO, cancelamos el cierre.
                e.Cancel = true;
            }
        }

        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void objetosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraObjetos();
        }

        private void acercadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (fAcercade.IsDisposed)
            {
                fAcercade = new FormAcercaDe();
            }
            fAcercade.ShowDialog();
        }

        private void mapaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraMapa();
        }

        private void lugaresToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraLugares();
        }

        private void caminosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraCaminos();
        }

        private void eventoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraEventos();
        }

        private void finalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MuestraFinal();
        }

        private void MenuPrincipal_Resize(object sender, EventArgs e)
        {
            if (this.MdiChildren.Count<Form>() <= 0)
                this.Refresh();
        }

        private void menuStripMenuPrincipal_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }
    }
}
